Process control systems, like those used in chemical, petroleum or other processes, typically include one or more centralized process controllers communicatively coupled to at least one host or operator workstation and to one or more field devices via analog, digital or combined analog/digital buses. The field devices, which may be, for example, valves, valve positioners, vessels, tanks, switches and transmitters (e.g., temperature, pressure and flow rate sensors), perform functions within the process such as opening or closing valves, raising/lowering temperatures and/or pressures, and measuring process parameters. The process controller receives signals indicative of process measurements made by the field devices and/or other information pertaining to the field devices, uses this information to implement a control routine by executing one or more modules, each of which contains one or more function blocks having device instructions. Such device instructions may be executed to generate control signals that are sent over the buses or other communication lines to the field devices to control the operation of the process. Information from the field devices and the controllers may be made available to one or more applications executed by the operator workstation to enable an operator to perform desired functions with respect to the process, such as viewing the current state of the process, modifying the operation of the process, etc.
Process control system applications typically include process control routines in the form of modules that can be configured to perform various functions or operations in a process control system via function blocks. For example, a module may include a sequence of function blocks to control valves, motors, boilers, heaters, and/or other devices to produce a product (e.g., petroleum, cosmetics, food, etc.). The quality of the manufactured product may depend on proper function block sequencing. As a result, each product may require a unique module for each desired process control routine objective, such as maintaining product specifications within acceptable tolerances (e.g., chemical composition percentages, product viscosity, etc.). While some process control routine objectives require the full execution of the module (i.e., execution of all the function blocks of the module), other process control routine objectives may not require the full execution of the module (i.e., do not require execution of all of the function blocks of the module). Accordingly, because a portion of a module cannot be executed, numerous additional modules are often created to satisfy one or more process control routine objectives for each given product.